package com.cskaoyan.javase._0abstract._2notice;

/**
 * 注意事项:
 * 1.abstract关键字，不能用来修饰构造器、属性、代码块等结构。
 *      只能修饰类或者方法。
 *
 * 2.abstract修饰类时，类的修饰符不能有final。
 * 3.抽象方法,abstract修饰的成员方法.
 *      那么抽象方法和哪些修饰符不能一起使用呢?
 *          1.private,私有方法不能被子类重写,所以不能使用
 *          2.static,静态方法也不能被子类重写,所以也不能使用
 *          3.final,final修饰方法表示该方法无法被重写,但是可以继承.
 *
 * 4.一个抽象类中可以没有抽象方法，但是意义不是很大（普遍来说，抽象类就应该有抽象方法）
 *
 * @since 10:42
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
}

abstract class BaseAnimal {
    // Illegal combination of modifiers: 'abstract' and 'private'
    // private abstract void test();

    // Illegal combination of modifiers: 'abstract' and 'static'
    // public static abstract void test();

    // Illegal combination of modifiers: 'abstract' and 'final'
    // public abstract final void test();
}